veRTCEngine

成员方法

名称 类型 描述
init (appId: string, documentPath: string, params: string) => number 创建和初始化引擎
uninit () => number 销毁引擎
setBusinessId (business_id: string) => number 设置业务标识参数
joinRoom (token: string, room_id: string, uid: string, info: string, roomConfig: RTCRoomConfig) => number 创建/加入房间:房间不存在时即创建房间;房间存在时即加入这个房间。
setUserVisibility (enable: boolean) => number 设置用户可见性。默认为可见。
leaveRoom () => number 离开房间。调用此方法离开房间,结束通话过程,释放所有通话相关的资源。
updateToken (token: string) => number 更新 Token
setPlaybackVolume (volume: number) => number 调节本地播放的所有远端用户混音后的音量
startAudioCapture () => number 开启内部音频采集。默认为关闭状态。
stopAudioCapture () => number 关闭内部音频采集。默认为关闭状态。
muteLocalAudio (muteState: number) => number 控制本地音频流的发送状态:发送/不发送
setAudioVolumeIndicationInterval (interval: number) => number 开启/关闭音量提示。默认关闭。
setRemoteAudioPlaybackVolume (strUserId: string, volume: number) => number 调节来自远端用户的音频播放音量
resumeAllSubscribedStream (type: PauseResumeControlMediaType) => number 恢复接收来自远端的媒体流
startVideoCapture () => number 开启内部视频采集。默认为关闭状态
stopVideoCapture () => number 关闭内部视频采集。默认为关闭状态。
setVideoEncoderConfig (index: number, solutions: VideoSolution[]) => number 启动推送多路视频流,设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
muteLocalVideo (muteState: number) => number 停止/启动发送本地视频流,默认不发送。
switchCamera (camera_id: number) => number 切换视频内部采集时使用的前置/后置摄像头。默认使用前置摄像头。
setLocalVideoMirrorMode (nMode: MirrorMode) => number 设置采用前置摄像头采集时,是否开启镜像模式。
pauseAllSubscribedStream (type: PauseResumeControlMediaType) => number 暂停接收来自远端的媒体流。
startScreenVideoCapture (info: ScreenCaptureSourceInfo, params: ScreenCaptureParameters) => number 采集屏幕视频流,用于共享。屏幕视频流包括:屏幕上显示的内容,应用窗口中显示的内容,或虚拟屏幕中显示的内容。其中,虚拟屏幕中显示的内容仅在 Windows 平台上支持。
updateScreenCaptureRegion (regionRect: Rectangle) => number 更新屏幕共享区域。
UpdateScreenCaptureMouseCursor (state: MouseCursorCaptureState) => number 通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。
updateScreenCaptureHighlightConfig (highlight_config: HighlightConfig) => number 通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。
updateScreenCaptureFilterConfig (screenFilterConfig: number[]) => number 通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。
stopScreenVideoCapture () => number 停止屏幕视频流采集。
getScreenCaptureSourceList () => ScreenCaptureSourceInfo[] 获取屏幕采集对象列表。
getThumbnail (type: ScreenCaptureSourceType, sourceId: number, maxWidth: number, maxHeight: number) => ThumbnailInfo 获取共享对象缩略图
getWindowAppIcon (sourceId: number, maxWidth: number, maxHeight: number) => AppIconInfo 获取应用窗体所属应用的图标。
publishScreen () => number 发布本地屏幕共享流到房间。
unpublishScreen () => number 停止发布本地屏幕共享流到房间。
setCaptureVolume (index: number, volume: number) => number 调节音频采集音量
startAudioMixing (id: number, file_path: string, mixingconfig: AudioMixingConfig) => number 开始播放音乐文件及混音
stopAudioMixing (id: number) => number 停止播放音乐文件及混音
pauseAudioMixing (id: number) => number 暂停播放音乐文件及混音
resumeAudioMixing (id: number) => number 恢复播放音乐文件及混音
setAudioMixingVolume (id: number, volume: number, type: number) => number 调节音乐文件在本地和远端播放的音量大小
getAudioMixingDuration (id: number) => number 获取音乐文件时长
getAudioMixingCurrentPosition (id: number) => number 获取音乐文件播放进度
setAudioMixingPosition (id: number, pos: number) => number 设置音乐文件的播放位置
preloadAudioMixing (id: number, file_path: string) => number 预加载指定音乐文件到内存中
unloadAudioMixing (id: number) => number 卸载指定音乐文件
enumerateVideoCaptureDevices () => Object 获取当前系统内视频采集设备列表。
setVideoCaptureDevice (deviceId: string) => number 设置当前视频采集设备
getVideoCaptureDevice () => string 获取当前 SDK 正在使用的视频采集设备信息
enumerateAudioPlaybackDevices () => Object 获取当前系统内音频播放设备列表。如果后续设备有变更,你会收到 OnMediaDeviceStateChanged 回调通知,然后需要重新调用本接口以获得新的设备列表。
enumerateAudioCaptureDevices () => Object 获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。
setAudioPlaybackDevice (deviceId: string) => number 设置音频播放设备。
setAudioCaptureDevice (deviceId: string) => number 设置音频采集设备。
getAudioPlaybackDevice () => string 获取当前音频播放设备 ID。
getAudioCaptureDevice () => string 获取当前音频采集设备 ID。
startAudioPlaybackDeviceTest (test_audio_file_path: String) => number 启动音频播放设备测试。
该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。
stopAudioPlaybackDeviceTest () => number 停止音频播放设备测试。
startAudioCaptureDeviceTest (indication_interval: number) => number 启动音频采集设备测试。 该方法测试音频采集设备是否能正常工作。启动测试后,会收到 OnAudioVolumeIndication 回调上报的音量信息。
stopAudioCaptureDeviceTest () => number 停止音频采集设备测试。
setAudioPlaybackDeviceVolume (volume: number) => number 设置当前音频播放设备音量
getAudioPlaybackDeviceVolume () => number 获取当前音频播放设备音量
setAudioCaptureDeviceVolume (volume: number) => number 设置当前音频采集设备音量
getAudioCaptureDeviceVolume () => number 获取当前音频采集设备音量
startAudioDeviceLoopbackTest (indication_interval: number) => number 开始音频设备回路测试。
该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地声音,并通过音频播放设备播放出来,同时用户 App 会收到 OnAudioVolumeIndication 回调上报的音量信息。
stopAudioDeviceLoopbackTest () => number 停止音频设备回路测试。
initAudioPlaybackDeviceForTest (deviceId: string) => number 尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
initAudioCaptureDeviceForTest (deviceId: string) => number 尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。
setAudioPlaybackDeviceMute (mute: boolean) => number 设置当前音频播放设备静音状态,默认为非静音。
getAudioPlaybackDeviceMute () => boolean 获取当前音频播放设备是否静音的信息。
setAudioCaptureDeviceMute (mute: boolean) => number 设置当前音频采集设备静音状态,默认为非静音。
getAudioCaptureDeviceMute () => boolean 获取当前音频采集设备是否静音的信息。
setPublishFallbackOption (option: number) => number 设置发布的音视频流回退选项 。
你可以调用这个接口来设置网络情况不佳或设备性能不足时只发送小流,以保证通话质量。
setSubscribeFallbackOption (option: number) => number 设置订阅的音视频流回退选项。
你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话质量。
setRemoteUserPriority (userId: string, priority: RemoteUserPriority) => number 设置用户优先级
publish () => number 在当前房间内手动开始发布本地音视频流
unpublish () => number 在当前房间内停止发布本地音视频流。
subscribeUserStream (user_id: string, stream_type: number, media_type: number, subConfig: SubscribeVideoConfig) => number 订阅房间内指定的远端音视频流。 或更新已经订阅的流的属性、媒体类型等配置。
unsubscribe (userId: string, isScreen: boolean) => number 停止订阅指定的房间内远端音视频流。无论自动订阅还是手动订阅模式,你都可以调用此方法取消已订阅的音视频流。
sendUserMessage (userId: string, message: string) => number 给房间内指定的用户发送消息,返回这次发送消息的编号。
调用该函数后会收到一次 userMessageSendResult 回调,告知发送结果。
sendUserBinaryMessage (uid: string, length: number, message: Uint8Array) => number 给房间内指定的用户发送二进制消息(P2P)
setRecordingAudioFrameParameters (sample_rate: number, channels: number) => number 设置本地麦克风录制的音频数据回调参数
setPlaybackAudioFrameParameters (sample_rate: number, channels: number) => number 设置远端所有用户音频数据混音后的音频数据回调参数
setMixedAudioFrameParameters (sample_rate: number, channels: number) => number 设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数
startFileRecording (type: Number, config: RecordingConfig) => number 该方法将通话过程中的音视频数据录制到本地的文件中。
stopFileRecording (type: Number) => number 停止本地录制
startASR (asr_config: RTCASRConfig) => number 开启自动语音识别服务。该方法将识别后的用户语音转化成文字,并通过 OnMessage 事件回调给用户。
stopASR () => number 关闭语音识别服务
sendRoomMessage (message: string) => number 给房间内所有的用户发送消息。
sendRoomBinaryMessage (size: number, message: Uint8Array) => number 给房间内的所有其他用户发送广播消息。
login (token: String, uid: String) => number 必须先登录注册一个 uid,才能发送房间外消息和向业务服务器发送消息
logout () => number 调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。
updateLoginToken (token: String) => number 更新用户用于登录的 Token
Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
调用 login 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 OnLoginResult 回调通知,错误码为 kLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。
setServerParams (signature: String, url: String) => number 设置业务服务器参数
客户端调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给业务服务器之前,必须设置有效签名和业务服务器地址。
getPeerOnlineStatus (peer_user_id: String) => number 查询对端用户或本端用户的登录状态
SendUserMessageOutsideRoom (uid: String, message: String) => number 给房间外指定的用户发送文本消息(P2P)
getErrorDescription (code: number) => string 获取错误码的描述
sendUserBinaryMessageOutsideRoom (uid: String, length: number, message: String) => number 给房间外指定的用户发送二进制消息(P2P)
sendServerMessage (message: String) => number 客户端给业务服务器发送文本消息(P2Server)
sendServerBinaryMessage (length: number, message: String) => number 客户端给业务服务器发送二进制消息(P2Server)
setBackgroundSticker (effectNodePaths: string, source_path: string) => any 设置和开启虚拟背景功能,
checkLicense (licensePath: string) => number 视频特效许可证检查
getAuthMessage () => string 从 CV SDK 获取授权消息,用于获取在线许可证。
enableEffect (enabled: boolean) => number 开启关闭视频特效
setAlgoModelPath (modelPath: string) => number 设置视频特效算法模型路径
setEffectNodes (effectNodePaths: string[]) => number 设置视频特效素材包,支持同时设置多个素材包
updateNode (nodePath: string, nodeKey: string, nodeValue: number) => number 设置特效强度
setColorFilter (resPath: string) => number 设置颜色滤镜
setColorFilterIntensity (intensity: number) => number 设置已启用颜色滤镜的强度
sendSEIMessage (stream_index: number, message: Uint8Array, repeat_count: number) => number 在视频通信时,通过视频帧发送 SEI 数据。
setScreenAudioStreamIndex (index: number) => number 在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式
startScreenAudioCapture () => number 在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频
stopScreenAudioCapture () => number 在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。
feedback (data: String) => number 本次通话质量打分评价
setEncryptInfo (encrypt_type: number, key: string) => void 设置传输时使用内置加密的方式
startLiveTranscoding (param: TranscoderParam) => number 开启转推直播,并设置合流的视频视图布局和音频属性。
stopLiveTranscoding () => number 停止转推直播。
updateLiveTranscoding (param: TranscoderParam) => number 更新转推直播参数。
setupLocalVideo (view: HTMLDivElement, renderOptions?: RenderOptions) => number 为本地采集到的视频流绑定本地渲染视图
removeLocalVideo () => number 解绑本地视频流已绑定的渲染视图
setupRemoteVideo (userId: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number 为远端视频流绑定本地渲染视图
removeRemoteVideo (userId: string) => number 解绑指定远端视频流已绑定的本地视图
removeAllRemoteVideo () => number 解绑所有已绑定本地视图的指定远端视频流
setupLocalScreen (view: HTMLDivElement, renderOptions?: RenderOptions) => number 为本地屏幕共享流绑定视图
removeLocalScreen () => number 解绑屏幕共享流已绑定的视图
setupRemoteScreen (userId: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number 为远端屏幕共享流绑定本地视图
removeRemoteScreen (userId: string) => number 解绑远端屏幕共享流已绑定的本地视图

静态方法

名称 类型 描述
getSDKVersion () => string 获取当前 SDK 版本信息
getCurrentProcessId () => string 获取加载引擎进程的 ID 方便调试

方法详情

init

创建和初始化引擎

(appId: string, documentPath: string, params: string) => number

参数

名称 类型 必选 默认值 描述
appId string 是 每个应用的唯一标识符,由 RTC 控制台随机生成的。不同的 AppId 生成的实例在 RTC 中进行音视频通话完全独立,无法互通。
documentPath string 是 存放日志路径
params string 是 用以覆盖默认参数的本引擎实例参数。JSON 字符串格式。

返回值

类型: number

uninit

销毁引擎

() => number

返回值

类型: number

setBusinessId

设置业务标识参数

(business_id: string) => number

参数

名称 类型 必选 默认值 描述
business_id string 是 用户设置的自己的 business_id 值。business_id 相当于一个 sub AppId,可以分担和细化现在 AppId 的逻辑划分的功能, 但不需要鉴权。business_id 只是一个标签,颗粒度需要用户自定义。

返回值

类型: number

注意

joinRoom

创建/加入房间:房间不存在时即创建房间;房间存在时即加入这个房间。

(token: string, room_id: string, uid: string, info: string, roomConfig: RTCRoomConfig) => number

参数

名称 类型 必选 默认值 描述
token string 是 动态密钥,用于对登录用户进行鉴权验证。进入房间需要携带 Token。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在您的服务端生成并下发 Token。
请务必保证生成 Token 使用的 App ID 和创建引擎时使用的 App ID 相同,否则会导致加入房间失败。
Token 过期后,无法成功登录房间或重联。
room_id string 是 加入的房间 ID。房间 ID 为长度在 128 字节以内的非空字符串,支持以下字符集范围: 1. 26 个大写字母 A ~ Z 。 2. 26 个小写字母 a ~ z 。 3. 10 个数字 0 ~ 9 。 4. 下划线 "_",at 符 "@",减号 "-"。
uid string 是 用户 ID用户 ID 在 appId 的维度下是唯一的。
info string 是 用户信息
roomConfig RTCRoomConfig 是 房间参数配置,设置房间模式以及是否自动发布或订阅流。

返回值

类型: number

注意

setUserVisibility

设置用户可见性。默认为可见。

(enable: boolean) => number

参数

名称 类型 必选 默认值 描述
enable boolean 是 设置用户是否对房间内其他用户可见: + true: 可以被房间中的其他用户感知,且可以在房间内发布和订阅音视频流; + false: 无法被房间中的其他用户感知,且只能在房间内订阅音视频流。

返回值

类型: number

注意

leaveRoom

离开房间。调用此方法离开房间,结束通话过程,释放所有通话相关的资源。

() => number

返回值

类型: number

注意

updateToken

更新 Token

(token: string) => number

参数

名称 类型 必选 默认值 描述
token string 是 更新的动态密钥。

返回值

类型: number

注意

setPlaybackVolume

调节本地播放的所有远端用户混音后的音量

(volume: number) => number

参数

名称 类型 必选 默认值 描述
volume number 是 音频播放音量,取值范围: [0,400] + 0: 静音 + 100: 原始音量 + 400: 最大可为原始音量的 4 倍(自带溢出保护)

返回值

类型: number

注意

为保证更好的通话质量,建议将 volume 值设为 [0,100]。

startAudioCapture

开启内部音频采集。默认为关闭状态。

() => number

返回值

类型: number

注意

stopAudioCapture

关闭内部音频采集。默认为关闭状态。

() => number

返回值

类型: number

注意

muteLocalAudio

控制本地音频流的发送状态:发送/不发送

(muteState: number) => number

参数

名称 类型 必选 默认值 描述
muteState number 是 发送状态,标识是否发送本地音频流

返回值

类型: number

注意

setAudioVolumeIndicationInterval

开启/关闭音量提示。默认关闭。

(interval: number) => number

参数

名称 类型 必选 默认值 描述
interval number 是 收到音量提示回调的时间间隔:
建议设置为大于等于 200 毫秒;小于 10 毫秒时,行为未定义。
  • ≤ 0:禁用音量提示功能。
  • > 0:启用音量提示功能,并设置收到音量提示回调的时间间隔。单位为毫秒。
  • 返回值

    类型: number

    注意

    setRemoteAudioPlaybackVolume

    调节来自远端用户的音频播放音量

    (strUserId: string, volume: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    strUserId string 是 音频来源的远端用户 ID
    volume number 是 播放音量,取值范围: [0,400]
  • 0: 静音
  • 100: 原始音量
  • 400: 最大可为原始音量的 4 倍(自带溢出保护)
  • 返回值

    类型: number

    resumeAllSubscribedStream

    恢复接收来自远端的媒体流

    (type: PauseResumeControlMediaType) => number
    

    参数

    名称 类型 必选 默认值 描述
    type PauseResumeControlMediaType 是 媒体流类型,指定需要暂停接收音频还是视频流

    返回值

    类型: number

    注意

    startVideoCapture

    开启内部视频采集。默认为关闭状态

    () => number
    

    返回值

    类型: number

    注意

    stopVideoCapture

    关闭内部视频采集。默认为关闭状态。

    () => number
    

    返回值

    类型: number

    注意

    setVideoEncoderConfig

    启动推送多路视频流,设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。

    (index: number, solutions: VideoSolution[]) => number
    

    参数

    名称 类型 必选 默认值 描述
    index number 是 主流 or 屏幕流
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • solutions VideoSolution[] 是 视频参数数组首地址。
    最多支持 3 路参数。当设置了多路参数时,分辨率必须是依次减小,从大到小排列的。
    最大分辨率没有限制。但是如果设置的分辨率无法编码,就会导致编码推流失败。

    返回值

    类型: number

    注意

    muteLocalVideo

    停止/启动发送本地视频流,默认不发送。

    (muteState: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    muteState number 是 发送状态,标识是否发送本地视频流

    返回值

    类型: number

    注意

    switchCamera

    切换视频内部采集时使用的前置/后置摄像头。默认使用前置摄像头。

    (camera_id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    camera_id number 是 移动端摄像头。可通过 enumerateVideoCaptureDevices 获取。

    返回值

    类型: number

    注意

    setLocalVideoMirrorMode

    设置采用前置摄像头采集时,是否开启镜像模式。

    (nMode: MirrorMode) => number
    

    参数

    名称 类型 必选 默认值 描述
    nMode MirrorMode 是 是否开启镜像模式

    返回值

    类型: number

    pauseAllSubscribedStream

    暂停接收来自远端的媒体流。

    (type: PauseResumeControlMediaType) => number
    

    参数

    名称 类型 必选 默认值 描述
    type PauseResumeControlMediaType 是 媒体流类型,指定需要暂停接收音频还是视频流

    返回值

    类型: number

    注意

    startScreenVideoCapture

    采集屏幕视频流,用于共享。屏幕视频流包括:屏幕上显示的内容,应用窗口中显示的内容,或虚拟屏幕中显示的内容。其中,虚拟屏幕中显示的内容仅在 Windows 平台上支持。

    (info: ScreenCaptureSourceInfo, params: ScreenCaptureParameters) => number
    

    参数

    名称 类型 必选 默认值 描述
    info ScreenCaptureSourceInfo 是 待共享的屏幕源,你可以调用 getScreenCaptureSourceList 获得所有可以共享的屏幕源。
    params ScreenCaptureParameters 是 共享参数

    返回值

    类型: number

    注意

    updateScreenCaptureRegion

    更新屏幕共享区域。

    (regionRect: Rectangle) => number
    

    参数

    名称 类型 必选 默认值 描述
    regionRect Rectangle 是
  • 当共享屏幕时,指定待共享区域相对于虚拟屏幕的位置
  • 当共享窗口时,指定待共享区域相对于整个窗口的位置
  • 返回值

    类型: number

    UpdateScreenCaptureMouseCursor

    通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新对鼠标的处理设置。默认采集鼠标。

    (state: MouseCursorCaptureState) => number
    

    参数

    名称 类型 必选 默认值 描述
    state MouseCursorCaptureState 是 内部采集屏幕视频流时,是否采集鼠标信息

    返回值

    类型: number

    注意

    调用此接口前,必须已通过调用 startScreenVideoCapture 开启了内部屏幕流采集。

    updateScreenCaptureHighlightConfig

    通过 RTC SDK 提供的采集模块采集屏幕视频流时,更新边框高亮设置。默认展示表框。

    (highlight_config: HighlightConfig) => number
    

    参数

    名称 类型 必选 默认值 描述
    highlight_config HighlightConfig 是 边框高亮设置

    返回值

    类型: number

    注意

    调用此接口前,必须已通过调用 startScreenVideoCapture 开启了内部屏幕流采集。

    updateScreenCaptureFilterConfig

    通过 RTC SDK 提供的采集模块采集屏幕视频流时,设置需要过滤的窗口。

    (screenFilterConfig: number[]) => number
    

    参数

    名称 类型 必选 默认值 描述
    screenFilterConfig number[] 是 窗口过滤设置,参看 ScreenCaptureParameters

    返回值

    类型: number

    注意

    stopScreenVideoCapture

    停止屏幕视频流采集。

    () => number
    

    返回值

    类型: number

    注意

    getScreenCaptureSourceList

    获取屏幕采集对象列表。

    () => ScreenCaptureSourceInfo[]
    

    返回值

    类型: ScreenCaptureSourceInfo[]

    屏幕采集对象列表,包括应用窗口和屏幕。由用户选择其中一个共享对象,并在调用 startScreenVideoCapture 时作为参数传给 RTC SDK。

    getThumbnail

    获取共享对象缩略图

    (type: ScreenCaptureSourceType, sourceId: number, maxWidth: number, maxHeight: number) => ThumbnailInfo
    

    参数

    名称 类型 必选 默认值 描述
    type ScreenCaptureSourceType 是 屏幕采集对象的类型
    sourceId number 是 屏幕共享对象的 ID,可通过 getScreenCaptureSourceList 枚举共享对象列表中获取。
    maxWidth number 是 最大宽度。保持采集对象本身的宽高比不变,将缩略图缩放到指定范围内的最大宽高。如果给出的尺寸与共享对象比例不同,得到的缩略图会有黑边。
    maxHeight number 是 最大高度。参见 maxWidth 的说明。

    返回值

    类型: ThumbnailInfo

    共享对象缩略图

    getWindowAppIcon

    获取应用窗体所属应用的图标。

    (sourceId: number, maxWidth: number, maxHeight: number) => AppIconInfo
    

    参数

    名称 类型 必选 默认值 描述
    sourceId number 是 屏幕共享对象的 ID,可通过 getScreenCaptureSourceList 枚举共享对象列表中获取。
    maxWidth number 是 最大宽度。返回的图标将是宽高相等的,输入宽高不等时,取二者较小值。宽高范围为 [32,256],超出该范围将返回 nullptr,默认输出 100 x 100 的图像。
    maxHeight number 是 最大高度。参见 maxWidth 的说明。

    返回值

    类型: AppIconInfo

    应用窗体所属应用的图标。当屏幕共享对象为应用窗体时有效,否则返回 nullptr。

    publishScreen

    发布本地屏幕共享流到房间。

    () => number
    

    返回值

    类型: number

    注意

    unpublishScreen

    停止发布本地屏幕共享流到房间。

    () => number
    

    返回值

    类型: number

    注意

    setCaptureVolume

    调节音频采集音量

    (index: number, volume: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    index number 是 流索引,指定调节主流还是调节屏幕流的音量
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • volume number 是 采集的音量值和原始音量的比值,范围是 [0, 400],单位为 %,自带溢出保护。

    返回值

    类型: number

    注意

    startAudioMixing

    开始播放音乐文件及混音

    (id: number, file_path: string, mixingconfig: AudioMixingConfig) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID,用于标识混音,请保证混音 ID 唯一性。
    如果已经通过 preloadAudioMixing 将音效加载至内存,确保此处的 ID 与 preloadAudioMixing 设置的 ID 相同。
    如果使用相同的 ID 重复调用本方法,前一次混音会停止,后一次混音开始,且 SDK 会使用 OnAudioMixingStateChanged 回调通知前一次混音已停止。
    file_path string 是 指定需要混音的本地文件的绝对路径,支持音频文件格式有: mp3,aac,m4a,3gp,wav。
    可以通过传入不同的 ID 和 file_path 多次调用本方法,以实现同时播放多个音乐文件,实现混音叠加。
    mixingconfig AudioMixingConfig 是 混音配置,设置混音的播放次数、是否本地播放混音、以及是否将混音发送至远端,详见 AudioMixingConfig

    返回值

    类型: number

    注意

    stopAudioMixing

    停止播放音乐文件及混音

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    pauseAudioMixing

    暂停播放音乐文件及混音

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    resumeAudioMixing

    恢复播放音乐文件及混音

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    setAudioMixingVolume

    调节音乐文件在本地和远端播放的音量大小

    (id: number, volume: number, type: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID
    volume number 是 音乐文件播放音量范围为 0~400。
  • 0:静音
  • 100:原始音量
  • 400: 最大可调音量 (自带溢出保护)
  • type number 是 混音播放类型
    设置音乐文件是否本地播放、以及是否发送到远端,由此控制音乐文件本地或远端播放的音量,详见 AudioMixingType 。

    返回值

    类型: number

    注意

    getAudioMixingDuration

    获取音乐文件时长

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    调用本方法获取音乐文件时长前,需要先调用 preloadAudioMixing 或 startAudioMixing 。

    getAudioMixingCurrentPosition

    获取音乐文件播放进度

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    调用本方法获取音乐文件播放进度前,需要先调用 startAudioMixing 开始播放音乐文件。

    setAudioMixingPosition

    设置音乐文件的播放位置

    (id: number, pos: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID
    pos number 是 进度条位置,整数,单位为毫秒。

    返回值

    类型: number

    注意

    preloadAudioMixing

    预加载指定音乐文件到内存中

    (id: number, file_path: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID
    应用调用者维护,请保证唯一性。
    如果使用相同的 ID 调用本方法,后一次会覆盖前一次。
    如果先调用 startAudioMixing ,再使用相同的 ID 调用本方法 ,会先回调 OnAudioMixingStateChanged 上一个混音停止,然后加载后一个混音。
    使用一个 ID 调用本方法预加载 A.mp3 后,如果需要使用相同的 ID 调用 startAudioMixing 播放 B.mp3,请先调用 unloadAudioMixing 卸载 A.mp3 ,否则会报错 kAudioMixingErrorLoadConflict。
    file_path string 是 指定需要混音的本地文件的绝对路径,支持音频文件格式有: mp3,aac,m4a,3gp,wav。
    如果音乐文件长度超过 20s,会回调加载失败,见 OnAudioMixingStateChanged 。

    返回值

    类型: number

    注意

    unloadAudioMixing

    卸载指定音乐文件

    (id: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    id number 是 混音 ID

    返回值

    类型: number

    注意

    不论音乐文件是否播放,调用本方法卸载该文件后,SDK 会回调通知混音已停止,见 OnAudioMixingStateChanged 。

    enumerateVideoCaptureDevices

    获取当前系统内视频采集设备列表。

    () => Object
    

    返回值

    类型: Object

    包含系统中所有视频采集设备的列表和相关信息

    setVideoCaptureDevice

    设置当前视频采集设备

    (deviceId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    deviceId string 是 视频设备 ID,可以通过 EnumerateVideoCaptureDevices 获取

    返回值

    类型: number

    getVideoCaptureDevice

    获取当前 SDK 正在使用的视频采集设备信息

    () => string
    

    返回值

    类型: string

    当前 SDK 正在使用的视频采集设备信息

    enumerateAudioPlaybackDevices

    获取当前系统内音频播放设备列表。如果后续设备有变更,你会收到 OnMediaDeviceStateChanged 回调通知,然后需要重新调用本接口以获得新的设备列表。

    () => Object
    

    返回值

    类型: Object

    包含系统中所有音频播放设备的列表和相关信息

    enumerateAudioCaptureDevices

    获取当前系统内音频采集设备列表。如果后续设备有变更,你需要重新调用本接口以获得新的设备列表。

    () => Object
    

    返回值

    类型: Object

    包含系统中所有音频采集设备列表和相关信息

    setAudioPlaybackDevice

    设置音频播放设备。

    (deviceId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    deviceId string 是 音频播放设备 ID,可通过 enumerateAudioPlaybackDevices 获取。

    返回值

    类型: number

    方法调用结果

    setAudioCaptureDevice

    设置音频采集设备。

    (deviceId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    deviceId string 是 音频采集设备 ID,可通过 enumerateAudioCaptureDevices 获取。

    返回值

    类型: number

    方法调用结果

    getAudioPlaybackDevice

    获取当前音频播放设备 ID。

    () => string
    

    返回值

    类型: string

    当前音频播放设备 ID

    getAudioCaptureDevice

    获取当前音频采集设备 ID。

    () => string
    

    返回值

    类型: string

    当前音频采集设备 ID

    startAudioPlaybackDeviceTest

    启动音频播放设备测试。
    该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

    (test_audio_file_path: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    test_audio_file_path String 是 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav。

    返回值

    类型: number

    方法调用结果

    注意

    stopAudioPlaybackDeviceTest

    停止音频播放设备测试。

    () => number
    

    返回值

    类型: number

    方法调用结果

    注意

    调用 StartAudioPlaybackDeviceTest 后,需调用本方法停止测试。

    startAudioCaptureDeviceTest

    启动音频采集设备测试。 该方法测试音频采集设备是否能正常工作。启动测试后,会收到 OnAudioVolumeIndication 回调上报的音量信息。

    (indication_interval: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    indication_interval number 是 OnAudioVolumeIndication 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。小于10 毫秒行为未定义。

    返回值

    类型: number

    方法调用结果

    注意

    stopAudioCaptureDeviceTest

    停止音频采集设备测试。

    () => number
    

    返回值

    类型: number

    方法调用结果

    注意

    调用 startAudioCaptureDeviceTest 后,需调用本方法停止测试。

    setAudioPlaybackDeviceVolume

    设置当前音频播放设备音量

    (volume: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    volume number 是 音频播放设备音量,取值范围为 [0,255], 超出此范围设置无效。

    返回值

    类型: number

    方法调用结果

    getAudioPlaybackDeviceVolume

    获取当前音频播放设备音量

    () => number
    

    返回值

    类型: number

    方法调用结果

    setAudioCaptureDeviceVolume

    设置当前音频采集设备音量

    (volume: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    volume number 是 音频采集设备音量,取值范围为 [0,255], 超出此范围设置无效。

    返回值

    类型: number

    方法调用结果

    getAudioCaptureDeviceVolume

    获取当前音频采集设备音量

    () => number
    

    返回值

    类型: number

    方法调用结果

    startAudioDeviceLoopbackTest

    开始音频设备回路测试。
    该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地声音,并通过音频播放设备播放出来,同时用户 App 会收到 OnAudioVolumeIndication 回调上报的音量信息。

    (indication_interval: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    indication_interval number 是 OnAudioVolumeIndication 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。小于 10 毫秒行为未定义。

    返回值

    类型: number

    方法调用结果

    注意

    stopAudioDeviceLoopbackTest

    停止音频设备回路测试。

    () => number
    

    返回值

    类型: number

    方法调用结果

    注意

    调用 StartAudioDeviceLoopbackTest 后,需调用本方法停止测试。

    initAudioPlaybackDeviceForTest

    尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。

    (deviceId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    deviceId string 是 设备索引号

    返回值

    类型: number

    设备状态错误码

    注意

    1. 该接口需在进房前调用;
    2. 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。

    initAudioCaptureDeviceForTest

    尝试初始化音频播放设备,可检测出设备不存在、权限被拒绝/禁用等异常问题。

    (deviceId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    deviceId string 是 设备索引号

    返回值

    类型: number

    设备状态错误码

    注意

    1. 该接口需在进房前调用;
    2. 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。

    setAudioPlaybackDeviceMute

    设置当前音频播放设备静音状态,默认为非静音。

    (mute: boolean) => number
    

    参数

    名称 类型 必选 默认值 描述
    mute boolean 是
  • true:静音
  • false:非静音
  • 返回值

    类型: number

    方法调用结果

    getAudioPlaybackDeviceMute

    获取当前音频播放设备是否静音的信息。

    () => boolean
    

    返回值

    类型: boolean

    方法调用结果

    setAudioCaptureDeviceMute

    设置当前音频采集设备静音状态,默认为非静音。

    (mute: boolean) => number
    

    参数

    名称 类型 必选 默认值 描述
    mute boolean 是
  • true:静音
  • false:非静音
  • 返回值

    类型: number

    方法调用结果

    getAudioCaptureDeviceMute

    获取当前音频采集设备是否静音的信息。

    () => boolean
    

    返回值

    类型: boolean

    setPublishFallbackOption

    设置发布的音视频流回退选项 。
    你可以调用这个接口来设置网络情况不佳或设备性能不足时只发送小流,以保证通话质量。

    (option: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    option number 是 本地发布的音视频流回退选项
  • 0:(默认)上行网络较弱或性能不佳时,不对音视频流作回退处理。
  • >1:上行网络较弱或性能不佳时,只发送视频小流。
  • 返回值

    类型: number

    注意

    setSubscribeFallbackOption

    设置订阅的音视频流回退选项。
    你可以通过调用该接口来设置网络情况不佳或性能不足时只订阅小流或音频流,以保证通话质量。

    (option: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    option number 是 远端订阅流回退处理选项
  • 0: 关闭订阅音视频流时的性能回退功能
  • 1: 只接收视频小流
  • 2: 先尝试只接收视频小流;如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流
  • 返回值

    类型: number

    方法调用结果

    注意

    setRemoteUserPriority

    设置用户优先级

    (userId: string, priority: RemoteUserPriority) => number
    

    参数

    名称 类型 必选 默认值 描述
    userId string 是 远端用户的 ID
    priority RemoteUserPriority 是 远端用户的需求优先级,详见枚举类型 RemoteUserPriority

    返回值

    类型: number

    注意

    publish

    在当前房间内手动开始发布本地音视频流

    () => number
    

    返回值

    类型: number

    注意

    unpublish

    在当前房间内停止发布本地音视频流。

    () => number
    

    返回值

    类型: number

    注意

    subscribeUserStream

    订阅房间内指定的远端音视频流。 或更新已经订阅的流的属性、媒体类型等配置。

    (user_id: string, stream_type: number, media_type: number, subConfig: SubscribeVideoConfig) => number
    

    参数

    名称 类型 必选 默认值 描述
    user_id string 是 指定订阅的远端发布音视频流的用户 ID。
    stream_type number 是 流属性,用于指定订阅主流/屏幕流。
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • media_type number 是 媒体类型,用于指定订阅音/视频,参看 SubscribeMediaType 。
    subConfig SubscribeVideoConfig 是 视频订阅配置

    返回值

    类型: number

    注意

    unsubscribe

    停止订阅指定的房间内远端音视频流。无论自动订阅还是手动订阅模式,你都可以调用此方法取消已订阅的音视频流。

    (userId: string, isScreen: boolean) => number
    

    参数

    名称 类型 必选 默认值 描述
    userId string 是 指定需要取消订阅的远端音视频流的所属的用户的 ID 。
    isScreen boolean 是 是否为屏幕共享流。

    返回值

    类型: number

    注意

    无论是否订阅了指定的远端音视频流,都可以调用此方法。userId 无效或未订阅时,SDK 不会做任何处理,没有负面影响。

    sendUserMessage

    给房间内指定的用户发送消息,返回这次发送消息的编号。
    调用该函数后会收到一次 userMessageSendResult 回调,告知发送结果。

    (userId: string, message: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    userId string 是 指定用户 ID 。
    message string 是 发送的消息内容。

    返回值

    类型: number

    这次发送消息的编号,从 1 开始递增。

    注意

    sendUserBinaryMessage

    给房间内指定的用户发送二进制消息(P2P)

    (uid: string, length: number, message: Uint8Array) => number
    

    参数

    名称 类型 必选 默认值 描述
    uid string 是 消息接收用户的 ID
    length number 是 二进制字符串的长度
    message Uint8Array 是 二进制消息的内容。消息不超过 46KB。

    返回值

    类型: number

    这次发送消息的编号,从 1 开始递增。

    注意

    setRecordingAudioFrameParameters

    设置本地麦克风录制的音频数据回调参数

    (sample_rate: number, channels: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    sample_rate number 是 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
    channels number 是 音频通道数,支持单声道(1)和双声道(2)

    返回值

    类型: number

    注意

    使用本方法设置参数后可以在 OnRecordAudioFrame 收到数据

    setPlaybackAudioFrameParameters

    设置远端所有用户音频数据混音后的音频数据回调参数

    (sample_rate: number, channels: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    sample_rate number 是 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
    channels number 是 音频通道数,支持单声道(1)和双声道(2)

    返回值

    类型: number

    注意

    使用本方法设置参数后可以在 OnPlaybackAudioFrame 收到数据

    setMixedAudioFrameParameters

    设置本地麦克风录制音频数据和远端所有用户音频数据混音后的音频数据回调参数

    (sample_rate: number, channels: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    sample_rate number 是 音频采样率(单位HZ),可以设置的值有 8000,16000,32000,44100,48000
    channels number 是 音频通道数,支持单声道(1)和双声道(2)

    返回值

    类型: number

    注意

    使用本方法设置参数后可以在 OnMixedAudioFrame 收到数据

    startFileRecording

    该方法将通话过程中的音视频数据录制到本地的文件中。

    (type: Number, config: RecordingConfig) => number
    

    参数

    名称 类型 必选 默认值 描述
    type Number 是 流属性,指定录制主流还是屏幕流
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • config RecordingConfig 是 本地录制参数配置

    返回值

    类型: number

    注意

    stopFileRecording

    停止本地录制

    (type: Number) => number
    

    参数

    名称 类型 必选 默认值 描述
    type Number 是 流属性,指定停止主流或者屏幕流录制
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • 返回值

    类型: number

    注意

    startASR

    开启自动语音识别服务。该方法将识别后的用户语音转化成文字,并通过 OnMessage 事件回调给用户。

    (asr_config: RTCASRConfig) => number
    

    参数

    名称 类型 必选 默认值 描述
    asr_config RTCASRConfig 是 校验信息

    返回值

    类型: number

    stopASR

    关闭语音识别服务

    () => number
    

    返回值

    类型: number

    sendRoomMessage

    给房间内所有的用户发送消息。

    (message: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    message string 是 用户发送的广播消息

    返回值

    类型: number

    注意

    sendRoomBinaryMessage

    给房间内的所有其他用户发送广播消息。

    (size: number, message: Uint8Array) => number
    

    参数

    名称 类型 必选 默认值 描述
    size number 是 发送的二进制消息长度
    message Uint8Array 是 用户发送的二进制广播消息,每条消息不超过 46KB。

    返回值

    类型: number

    注意

    login

    必须先登录注册一个 uid,才能发送房间外消息和向业务服务器发送消息

    (token: String, uid: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    token String 是 动态密钥
    用户登录必须携带的 Token,用于鉴权验证。
    本 Token 与加入房间时必须携带的 Token 不同。测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。
    uid String 是 用户 ID
    用户 ID 在 appid 的维度下是唯一的。

    返回值

    类型: number

    注意

    logout

    调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。

    () => number
    

    返回值

    类型: number

    注意

    updateLoginToken

    更新用户用于登录的 Token
    Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
    调用 login 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 OnLoginResult 回调通知,错误码为 kLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。

    (token: String) => number
    

    参数

    名称 类型 必选 默认值 描述

    | token | String | 是 | |

    更新的动态密钥 |

    返回值

    类型: number

    注意

    setServerParams

    设置业务服务器参数
    客户端调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给业务服务器之前,必须设置有效签名和业务服务器地址。

    (signature: String, url: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    signature String 是 动态签名
    业务服务器会使用该签名对请求进行鉴权验证。
    url String 是 业务服务器的地址

    返回值

    类型: number

    注意

    getPeerOnlineStatus

    查询对端用户或本端用户的登录状态

    (peer_user_id: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    peer_user_id String 是 需要查询的用户 ID

    返回值

    类型: number

    注意

    SendUserMessageOutsideRoom

    给房间外指定的用户发送文本消息(P2P)

    (uid: String, message: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    uid String 是 消息接收用户的 ID
    message String 是 发送的文本消息内容,消息不超过 62KB。

    返回值

    类型: number

    注意

    getErrorDescription

    获取错误码的描述

    (code: number) => string
    

    参数

    名称 类型 必选 默认值 描述
    code number 是 需要获取描述的错误码

    返回值

    类型: string

    错误码的描述

    注意

    该接口是通用功能,调用时不需要依赖引擎对象。

    sendUserBinaryMessageOutsideRoom

    给房间外指定的用户发送二进制消息(P2P)

    (uid: String, length: number, message: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    uid String 是 消息接收用户的 ID
    length number 是 二进制字符串的长度
    message String 是 发送的二进制消息内容,每条消息不超过 46KB。

    返回值

    类型: number

    注意

    sendServerMessage

    客户端给业务服务器发送文本消息(P2Server)

    (message: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    message String 是 发送的文本消息内容,消息不超过 62KB。

    返回值

    类型: number

    注意

    sendServerBinaryMessage

    客户端给业务服务器发送二进制消息(P2Server)

    (length: number, message: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    length number 是 二进制字符串的长度
    message String 是 发送的二进制消息内容,消息不超过 46KB。

    返回值

    类型: number

    注意

    setBackgroundSticker

    设置和开启虚拟背景功能,

    (effectNodePaths: string, source_path: string) => any
    

    参数

    名称 类型 必选 默认值 描述
    effectNodePaths string 是 虚拟背景素材包地址。
    source_path string 是 背景图片本地路径。背景图片的本地地址,例如,file://xxx 或 Asset 资源路径 asset://xxx。 支持JPG、PNG。当背景图片分辨率超过 1080P 时,图片会被等比缩放。如果背景图片和视频分辨率不一致,图片会被裁剪缩放,不留黑边。

    返回值

    注意

    checkLicense

    视频特效许可证检查

    (licensePath: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    licensePath string 是 许可证文件绝对路径

    返回值

    类型: number

    注意

    开始使用视频特效前,你必须先调用这个方法进行许可证验证

    getAuthMessage

    从 CV SDK 获取授权消息,用于获取在线许可证。

    () => string
    

    返回值

    类型: string

    授权消息字符串

    注意

    enableEffect

    开启关闭视频特效

    (enabled: boolean) => number
    

    参数

    名称 类型 必选 默认值 描述
    enabled boolean 是 是否开启特效,true: 开启,false: 关闭

    返回值

    类型: number

    注意

    在调用 checkLicense 和 setAlgoModelPath 后调用此方法

    setAlgoModelPath

    设置视频特效算法模型路径

    (modelPath: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    modelPath string 是 模型路径

    返回值

    类型: number

    setEffectNodes

    设置视频特效素材包,支持同时设置多个素材包

    (effectNodePaths: string[]) => number
    

    参数

    名称 类型 必选 默认值 描述
    effectNodePaths string[] 是 特效素材包路径数组

    返回值

    类型: number


    updateNode

    设置特效强度

    (nodePath: string, nodeKey: string, nodeValue: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    nodePath string 是 特效素材包路径
    nodeKey string 是 需要设置的素材 key 名称,取值请参考 素材 key 对应说明。
    nodeValue number 是 需要设置的强度值 取值范围 [0,1],超出范围时设置无效。

    返回值

    类型: number


    setColorFilter

    设置颜色滤镜

    (resPath: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    resPath string 是 滤镜资源包绝对路径。

    返回值

    类型: number


    setColorFilterIntensity

    设置已启用颜色滤镜的强度

    (intensity: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    intensity number 是 滤镜强度。取值范围 [0,1],超出范围时设置无效。

    返回值

    类型: number


    sendSEIMessage

    在视频通信时,通过视频帧发送 SEI 数据。

    (stream_index: number, message: Uint8Array, repeat_count: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    stream_index number 是 媒体流类型
  • 主流。包括:由摄像头/麦克风通过内部采集机制,采集到的视频/音频;通过自定义采集,采集到的视频/音频。
  • 屏幕流。屏幕共享时共享的视频流,或来自声卡的本地播放音频流。
  • message Uint8Array 是 SEI 消息。长度不超过 4 kB。
    repeat_count number 是 消息发送重复次数。取值范围是 [0, 30]。
    调用此接口后,SEI 数据会添加到当前视频帧开始的连续 repeatCount 个视频帧中。

    返回值

    类型: number

    注意

    setScreenAudioStreamIndex

    在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式

    (index: number) => number
    

    参数

    名称 类型 必选 默认值 描述
    index number 是 混流方式
  • 0: 将屏幕音频流和麦克风采集到的音频流混流
  • 1: 将屏幕音频流和麦克风采集到的音频流分为两路音频流
  • 返回值

    类型: number

    注意

    你应该在 publishScreen 之前,调用此方法。否则,你将收到 OnWarning 的报错:kWarningCodeSetScreenAudioStreamIndexFailed

    startScreenAudioCapture

    在屏幕共享时,开始使用 RTC SDK 内部采集方式,采集屏幕音频

    () => number
    

    返回值

    类型: number

    注意

    stopScreenAudioCapture

    在屏幕共享时,停止使用 RTC SDK 内部采集方式,采集屏幕音频。

    () => number
    

    返回值

    类型: number

    注意

    要开始屏幕音频内部采集,调用 startScreenAudioCapture 。

    feedback

    本次通话质量打分评价

    (data: String) => number
    

    参数

    名称 类型 必选 默认值 描述
    data String 是 上报的数据。JSON 格式,必须包含以下 4 个字段:
  • types: 预设的问题类型集合,可多选。具体的类型参考 ProblemFeedbackOption
  • problem_desc: 预设问题以外的其他问题的具体描述
  • os_version: 系统版本
  • network_type: 网络类型:包括 WiFi, 2g, 3g, 4g, 5g。如果是台式机,填写 pc 。
  • 返回值

    类型: number

    注意

    setEncryptInfo

    设置传输时使用内置加密的方式

    (encrypt_type: number, key: string) => void
    

    参数

    名称 类型 必选 默认值 描述
    encrypt_type number 是 加密算法
  • 0: 不使用内置加密
  • 1:AES-128-CBC 加密算法
  • 2:AES-256-CBC 加密算法
  • 3:AES-128-ECB 加密算法
  • 4:AES-256-ECB 加密算法
  • key string 是 加密密钥,长度限制为 36 位,超出部分将会被截断

    注意

    该方法必须在进房之前调用,可重复调用,以最后调用的参数作为生效参数。

    startLiveTranscoding

    开启转推直播,并设置合流的视频视图布局和音频属性。

    (param: TranscoderParam) => number
    

    参数

    名称 类型 必选 默认值 描述
    param TranscoderParam 是 转推直播配置参数

    返回值

    类型: number

    注意


    1.只有房间模式为直播模式的用户才能调用此方法。
    2.调用该方法后,关于启动结果和推流过程中的错误,会收到 OnLiveTranscodingResult 回调。 3.调用 stopLiveTranscoding 停止转推直播。

    stopLiveTranscoding

    停止转推直播。

    () => number
    

    返回值

    类型: number

    注意

    关于启动转推直播,参看 startLiveTranscoding 。

    updateLiveTranscoding

    更新转推直播参数。

    (param: TranscoderParam) => number
    

    参数

    名称 类型 必选 默认值 描述
    param TranscoderParam 是 配置参数

    返回值

    类型: number

    注意

    使用 startLiveTranscoding 启用转推直播功能后,使用此方法更新功能配置参数。

    setupLocalVideo

    为本地采集到的视频流绑定本地渲染视图

    (view: HTMLDivElement, renderOptions?: RenderOptions) => number
    

    参数

    名称 类型 必选 默认值 描述
    view HTMLDivElement 是 视图
    userId RenderOptions 否 { renderMode: RenderMode.FIT, mirror: false } 远端用户 ID

    返回值

    类型: number

    0:成功
    -1: 失败

    removeLocalVideo

    解绑本地视频流已绑定的渲染视图

    () => number
    

    返回值

    类型: number

    0:成功
    -1: 失败

    setupRemoteVideo

    为远端视频流绑定本地渲染视图

    (userId: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number
    

    参数

    名称 类型 必选 默认值 描述
    view string 是 视图
    userId HTMLDivElement 是 远端用户 ID
    renderOptions RenderOptions 否 { renderMode: RenderMode.FIT, mirror: false } 渲染选项

    返回值

    类型: number

    0:成功
    -1: 失败

    removeRemoteVideo

    解绑指定远端视频流已绑定的本地视图

    (userId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    userId string 是 远端用户 ID

    返回值

    类型: number

    0:成功
    -1: 失败

    注意

    停止接收远端视频流时应解绑视图

    removeAllRemoteVideo

    解绑所有已绑定本地视图的指定远端视频流

    () => number
    

    返回值

    类型: number

    0:成功

    -1: 失败

    注意

    停止接收远端视频流时应解绑视图

    setupLocalScreen

    为本地屏幕共享流绑定视图

    (view: HTMLDivElement, renderOptions?: RenderOptions) => number
    

    参数

    名称 类型 必选 默认值 描述
    view HTMLDivElement 是 视图
    renderOptions RenderOptions 否 { renderMode: RenderMode.FIT, mirror: false } 渲染选项

    返回值

    类型: number

    0:成功

    -1: 失败

    注意

    本地发起屏幕共享需要先绑定视图

    removeLocalScreen

    解绑屏幕共享流已绑定的视图

    () => number
    

    返回值

    类型: number

    0:成功
    !0: 失败

    注意

    本地停止屏幕共享时解绑视图

    setupRemoteScreen

    为远端屏幕共享流绑定本地视图

    (userId: string, view: HTMLDivElement, renderOptions?: RenderOptions) => number
    

    参数

    名称 类型 必选 默认值 描述
    view string 是 视图
    userId HTMLDivElement 是 远端用户 ID
    renderOptions RenderOptions 否 { renderMode: RenderMode.FIT, mirror: false } 渲染选项

    返回值

    类型: number

    0:成功

    -1: 失败

    注意

    接收屏幕共享流需要先绑定视图

    removeRemoteScreen

    解绑远端屏幕共享流已绑定的本地视图

    (userId: string) => number
    

    参数

    名称 类型 必选 默认值 描述
    userId string 是 远端用户 ID

    返回值

    类型: number

    0:成功

    -1: 失败

    注意

    停止接收屏幕共享流时应解绑视图

    getSDKVersion

    获取当前 SDK 版本信息

    () => string
    

    返回值

    类型: string

    当前 SDK 版本信息

    getCurrentProcessId

    获取加载引擎进程的 ID 方便调试

    () => string
    

    返回值

    类型: string

    进程的 ID